{
	"hostname": {
		"provider": "${keycloak.hostname.provider:default}",
		"fixed": {
			"hostname": "${keycloak.hostname.fixed.hostname:localhost}",
			"httpPort": "${keycloak.hostname.fixed.httpPort:-1}",
			"httpsPort": "${keycloak.hostname.fixed.httpsPort:-1}",
			"alwaysHttps": "${keycloak.hostname.fixed.alwaysHttps:false}"
		},
		"default": {
			"frontendUrl": "${keycloak.frontendUrl:}",
			"adminUrl": "${keycloak.adminUrl:}",
			"forceBackendUrlToFrontendUrl": "${keycloak.hostname.default.forceBackendUrlToFrontendUrl:false}"
		}
	},
	"admin": {
		"realm": "master"
	},
	"eventsStore": {
		"provider": "${keycloak.eventsStore.provider:jpa}",
		"jpa": {
			"max-detail-length": "${keycloak.eventsStore.maxDetailLength:1000}"
		}
	},
	"eventsListener": {
		"jboss-logging": {
			"success-level": "debug",
			"error-level": "warn"
		},
		"event-queue": {
		}
	},
	"realm": {
		"provider": "${keycloak.realm.provider:jpa}"
	},
	"user": {
		"provider": "${keycloak.user.provider:jpa}"
	},
	"client": {
		"provider": "${keycloak.client.provider:jpa}"
	},
	"mapStorage": {
		"provider": "${keycloak.mapStorage.provider:concurrenthashmap}",
		"concurrenthashmap": {
			"dir": "${project.build.directory:target}"
		}
	},
	"userFederatedStorage": {
		"provider": "${keycloak.userFederatedStorage.provider:jpa}"
	},
	"userSessionPersister": {
		"provider": "${keycloak.userSessionPersister.provider:jpa}"
	},
	"authorizationPersister": {
		"provider": "${keycloak.authorization.provider:jpa}"
	},
	"userCache": {
		"provider": "${keycloak.user.cache.provider:default}",
		"default": {
			"enabled": true
		},
		"mem": {
			"maxSize": 20000
		}
	},
	"userSessions": {
		"provider": "${keycloak.userSessions.provider:infinispan}"
	},
	"timer": {
		"provider": "basic"
	},
	"theme": {
		"staticMaxAge": "${keycloak.theme.staticMaxAge:2592000}",
		"cacheTemplates": "${keycloak.theme.cacheTemplates:true}",
		"cacheThemes": "${keycloak.theme.cacheThemes:true}",
		"folder": {
			"dir": "${keycloak.theme.dir}"
		}
	},
	"login": {
		"provider": "freemarker"
	},
	"account": {
		"provider": "freemarker"
	},
	"email": {
		"provider": "freemarker"
	},
	"scheduled": {
		"interval": 900
	},
	"connectionsHttpClient": {
		"default": {
			"max-connection-idle-time-millis": 1000
		}
	},
	"connectionsJpa": {
		"default": {
			"url": "${keycloak.connectionsJpa.url:jdbc:h2:./target/keycloak}",
			"driver": "${keycloak.connectionsJpa.driver:org.h2.Driver}",
			"driverDialect": "${keycloak.connectionsJpa.driverDialect:}",
			"user": "${keycloak.connectionsJpa.user:sa}",
			"password": "${keycloak.connectionsJpa.password:}",
			"initializeEmpty": true,
			"migrationStrategy": "update",
			"showSql": "${keycloak.connectionsJpa.showSql:false}",
			"formatSql": "${keycloak.connectionsJpa.formatSql:true}",
			"globalStatsInterval": "${keycloak.connectionsJpa.globalStatsInterval:-1}"
		}
	},
	"realmCache": {
	    "provider": "${keycloak.realm.cache.provider:default}",
		"default": {
			"enabled": true
		}
	},
	"connectionsInfinispan": {
		"default": {
			"embedded": "${keycloak.connectionsInfinispan.embedded:true}"
		}
	},
	"jta-lookup": {
		"provider": "${keycloak.jta.lookup.provider:jboss}",
		"jboss": {
			"enabled": true
		}
	},
	"login-protocol": {
		"saml": {
			"knownProtocols": [
				"http=${auth.server.http.port}",
				"https=${auth.server.https.port}"
			]
		}
	},
	"x509cert-lookup": {
		"provider": "${keycloak.x509cert.lookup.provider:default}",
		"default": {
			"enabled": true
		},
		"haproxy": {
			"enabled": true,
			"sslClientCert": "x-ssl-client-cert",
			"sslCertChainPrefix": "x-ssl-client-cert-chain",
			"certificateChainLength": 1
		},
		"apache": {
			"enabled": true,
			"sslClientCert": "x-ssl-client-cert",
			"sslCertChainPrefix": "x-ssl-client-cert-chain",
			"certificateChainLength": 1
		},
		"nginx": {
			"enabled": true,
			"sslClientCert": "x-ssl-client-cert",
			"sslCertChainPrefix": "x-ssl-client-cert-chain",
			"certificateChainLength": 1
		}
	},
	"vault": {
		"files-plaintext": {
			"dir": "target/dependency/vault",
			"enabled": "${keycloak.vault.files-plaintext.provider.enabled:false}"
		}
	}
}